﻿using System;
using MWS.Processing.Interfaces;

namespace MWS.Processing.Processors
{
    public abstract class QueueProcessor<TRequest, TResponse, TQueue> : OperationProcessor<TRequest, TResponse>
        where TRequest : class
    {
        protected QueueProcessor(Func<TRequest, TResponse> operation, IQueue<TQueue> queue) : base(operation)
        {
            Queue = queue;
        }

        public IQueue<TQueue> Queue { get; set; }
    }
}